<?php
namespace Admin\Controller;//命名空间 防止重名
use Think\Controller;//自动加载核心控制器类

class LoginController extends Controller {
    
    public function index(){
        layout(false);//临时关闭 模板布局
        if(IS_POST){
            // var_dump(I());
            $data = I('post.');
            // var_dump($data);
           
            if(empty($data['code'])){
                $this->error('验证码不能为空！');
            }

            if(!check_verify($data['code'])){
                $this->error('验证码错误！');
            }
            if(empty($data['username'])){
                $this->error('用户名不得为空');
            }  
            if(empty($data['password'])){
                $this->error('密码不得为空');
            }

            //  $da = M('AdminUser')->select();
            // var_dump($da);
            // var_dump(M('AdminUser')->_sql());
            // 
            $wh['username'] = $data['username'];
            $res = M('AdminUser')->field('id,password,privilege_id,l_time')->where($wh)->find();
            // var_dump($res);
            //  var_dump(cjl_md5($data['password']));exit;
            
            if($res && cjl_md5($data['password']) == $res['password']){
               $this->create_session($res,$data);
                // var_dump('登录成功');exit;
                $this->success('登陆成功',U('Index/index'));exit;
            }else{
                if(cookie('cjl_pwd') && cookie('cjl_pwd') == cjl_md5($res['password'].$data['username'].$res['l_time'])){
                    //说明以前有存储cookie
                    //要验证 是不是我们存储的cookie
                    //怎么验证是不是我们存储的cookie
                    //我们存储的cookie密码 使用了 密码+用户名+登录时间戳【已保存数据库】cjl_md5($data['password'].$data['username'].$time)
                    //把查询出来的 密码+用户传输过来的用户名+查询出来的时间戳 对比 一致 说明是我上次存储的 
                    $this->create_session($res,$data);
                    $this->success('登陆成功！',U('Index/index'));exit;
                }
                $this->error('登录失败,用户名或者密码错误');
            }
            
       }else{
       $this->assign('cjl_title','登录页');
        $this->display();
       }
    }

    //验证码
    public function code(){
        // ob_clean();
        $Verify = new \Think\Verify();
        // $Verify->useImgBg = true;    //是否使用背景图片 默认为false
        // // $Verify->useCurve = false;    //是否使用混淆曲线 默认为true
        // $Verify->useZh = true;
        // $Verify->zhSet = '们以我到他会作时要动国产的一是工就年阶义发成部民可出能方进在了不和有大这';
        $Verify->fontSize = 20; 
        $Verify->imageH = 42;
        $Verify->imageW = 140;
        $Verify->length = 4;
        $Verify->entry();
    }

     public function layout()
    {
        session('cjl_uid');
        session('cjl_uname');
        $this->success('安全退出成功！',U('Login/index'));
    }

    private function create_session($res,$data){
        $time = time();
        $dd['id'] = $res['id'];
        $dd['l_time'] = $time;
        M('AdminUser')->data($dd)->save();
        $pri = M('privilege')->field('privilege')->find($res['privilege_id']);
        // var_dump($pri);
        session('cjl_pri',explode(',', $pri['privilege']));
        session('cjl_uid',$res['id']);
        session('cjl_uname',$data['username']);
        if(I('post.remember')){
            cookie('name',$data['username'],array('expire'=>3600*24*7,'prefix'=>'cjl_'));
            cookie('pwd',cjl_md5($res['password'].$data['username'].$time),array('expire'=>3600*24*7,'prefix'=>'cjl_'));
            cookie('rem',1,array('expire'=>3600*24*7,'prefix'=>'cjl_'));
        }else{
            cookie(null,'cjl_');
        }
    }
   
}